<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>

  <body>
    <script type="text/javascript">
      //1.JS是什么
      javascript是一种属于网络的脚本语言，已经被广泛用于Web应用开发，常用来为网页添加各式各样的动态功能，为用户提供更流畅美观的浏览体验。
      //2.JS的数据类型有哪几种，哪些是简单类型变量，哪些是复杂类型变量，它们有什么区别
      js的数据类型分为两种：js的数据类型分为两种：简单（基本）数据类型，复杂（引用）数据类型
        简单数据类型：
            number (数字类型)
            string(字符串类型)
            Boolean(布尔值)
            undefined
            null
            symbol

            复杂数据类型：
            object(对象)
            Arrar (数组)
            Function (函数)
           区别：
    1、基本数据类型把数据名和值直接存储在栈当中；
而复杂数据类型在栈中存储数据名和一个堆的地址，在堆中存储属性及值，访问时先从栈中获取地址，再到堆中拿出相应的值。
    2、基本数据类型作为参数时，函数内部对参数值的修改不会改变外部变量的值；
复杂数据类型作为参数时，函数内部对参数值的修改会改变外部变量的值。

      //3.用代码来表示具体如何定义JS的各种类型变量
          var x = 123;
          var y = "123";
          var z = true;
          var k = undefined;
          var j = null;
          var i = new Object();
          var p = function(){}
          var q = new Array();
      //4.undefined和Null的区别
      undefined:已经声明变量,但没有赋值；
    Null:连变量都没有声明
   
      //5.script标签写在页面头部和底部，有何区别
      加载页面时，按照文档流的方向读取,由于JS文件过大,可能会阻塞文档解析，出现白屏的页面；
      由于JS需要在文档加载完成后才能够去执行，否则可能导致无法获取对象的情况，所以建议放在底部。
      //6.如何保证在页面基本结构和样式加载后，再执行我们的JS脚本
      window.onload=function(){}
      //7.如何判断一个变量是属于哪种变量类型（字符串、数值、布尔值、Null、undefined、对象、数组、函数）
      console.log(typeof 变量)
    console.log(Object.constructor.toString.call(obj).ceil(8,-1))
      //8.JS的注释写法有哪几种，有何区别
      "//" 单行注释 可相互嵌套
      / ** / 多行注释 不可嵌套
      //9.javascript引入页面有几种形式
      通过script标签来书写js代码
      通过行内书写js脚本
      通过script的src属性引入外部js脚本
      //10.var 的意义何在
      变量声明提前
      //11.已知数A与B，由键盘输入AB的值，交换它们的值，并输出。
      //提示，获取用户输入信息，可以使用 var user_input = prompt("请输入数字");
      var A=prompt("请输入A的数字");
      var B=prompt("请输入B的数字");
      var C=A;
      A=B;
      B=C;
      console.log(A,B);
      
    </script>
  </body>
</html>

